<?php

class Rollo_Model extends CI_Model{
    function __construct() {
        parent::__construct();
    }
    
    function agregarRollo($idRollo,$especie,$largo,$diametro,$cubico,$idRemito){
        
        $datos=array();
        $datos['idRollo']=$idRollo;
        $datos['Especie_idEspecie']=$especie;
        $datos['largo']=$largo;
        $datos['circunferencia']=$diametro;
        $datos['m3_rollo']=$cubico;
        $datos['Remito_id_remito']=$idRemito;
        $this->db->insert('rollo',$datos);
        
    }
    
    function getRollos(){
        
       $this->db->select('rollo.idRollo, especie.nombre, rollo.largo, rollo.circunferencia, rollo.m3_rollo, rollo.Remito_id_remito');
       $this->db->from('rollo');
       $this->db->join('especie', 'especie.idEspecie=rollo.Especie_idEspecie','inner');
       $this->db->not_like('estado', 'Procesado');
       
       $Q=$this->db->get();
       
       return $Q->result_array();
        
    }
    
    function getRollosProcesados(){
        
       $this->db->select('rollo.idRollo, especie.nombre, rollo.largo, rollo.circunferencia, rollo.m3_rollo, rollo.estado');
       $this->db->from('rollo');
       $this->db->join('especie', 'especie.idEspecie=rollo.Especie_idEspecie','inner');
       $this->db->like('estado', 'Procesado');
       
       $Q=$this->db->get();
       
       return $Q->result_array();
        
    }
    
  
    
    function getRollo($idRemito){
        
                $this->db->select('rollo.idRollo, especie.nombre, rollo.largo, rollo.circunferencia, rollo.m3_rollo,rollo.estado, remito.id_remito');
                $this->db->from('rollo');
                $this->db->join('remito', 'rollo.Remito_id_remito = remito.id_remito','inner');
                $this->db->join('especie', 'especie.idEspecie=rollo.Especie_idEspecie','inner');
                $this->db->where('id_remito',$idRemito);               
               $Q=$this->db->get();
               
                
                return $Q->result_array();
                
               
     
                
      $Q->free_result();   
        
    }
    
    function getRollitos($idRollo){
        
                $this->db->select('rollo.idRollo, especie.nombre, rollo.largo, rollo.circunferencia, rollo.m3_rollo, remito.id_remito');
                $this->db->from('rollo');
                $this->db->join('remito', 'rollo.Remito_id_remito = remito.id_remito','inner');
                $this->db->join('especie', 'especie.idEspecie=rollo.Especie_idEspecie','inner');
                $this->db->where('idRollo',$idRollo);               
               $Q=$this->db->get();
               
                
                return $Q->result_array();
                
               
     
                
      $Q->free_result();   
        
    }
    
    //Verifica si el remito ingresado tiene rollos por procesar
    function verificarExistenciaDeRollos($remito){
        $query=$this->db->query("SELECT especie.nombre, rollo.largo, rollo.circunferencia
                          FROM rollo
                          INNER JOIN especie ON rollo.Especie_idEspecie = especie.idEspecie
                          WHERE rollo.estado NOT IN (SELECT rollo.estado FROM rollo WHERE rollo.estado LIKE '%procesado%')
                          AND rollo.Remito_id_remito =$remito");
        
        if($query->num_rows()>0){
            return false;
        }else{
            return true;
        }
        
    }
   function getTotalCubico($idRemito){                  //Calcula el Cubico total
       $this->db->select_sum('m3_rollo','total');
       $this->db->from('rollo');
       $this->db->where('Remito_id_remito',$idRemito);
       $query=$this->db->get();
       return $query->row()->total;
   }
   
   function getEspecie(){
       
        $Q = $this->db->get('especie');
        return $Q->result_array();
	$Q->free_result(); 	
   }
   
  function getStockRollo() {
        $query = $this->db->query("SELECT especie.nombre, COUNT(idRollo) as Rollo,  ROUND(SUM(rollo.m3_rollo),2) AS Cubico FROM rollo INNER JOIN especie ON especie.idEspecie=rollo.Especie_idEspecie WHERE rollo.estado not like '%Procesado%' GROUP BY especie.nombre");
        return $query->result_array();
    }
    
   function modificarEstadoRollos($idRollo){
       $data = array(
                    'estado' => 'Procesado'
                    );
       $this->db->where('idRollo',$idRollo);
       $this->db->update('rollo', $data);
       
        
    }
    
    function modificarCubicoTotalRollo($numero,$cubico){
        $data=array(
            'm3_rollo' =>$cubico
        );
        
        $this->db->where('idRollo',$numero);
        $this->db->update('rollo',$data);
    }
    
    function eliminar($idRollo){
        $this->db->where('idRollo', $idRollo); 
        $this->db->delete('rollo');
    }
    
   function getCubicoRollo($idRollo) {


        $this->db->select('m3_rollo');
        $this->db->from('rollo');
        $this->db->where('idRollo', $idRollo);
        $query = $this->db->get();
        
        if ($query->num_rows() > 0)
        {
              foreach ($query->result() as $row){
                return $row->m3_rollo;
                
   }
} 
       
        $query->free_result();
    }
    
    function getEspecieId($id){
        $this->db->select('Especie_idEspecie ');
        $this->db->from('rollo');
        $this->db->where('idRollo',$id);
        $query=$this->db->get();
        
        if($query->num_rows() >0){
             foreach ($query->result() as $row){
            return $row->Especie_idEspecie;
        }
       }
        
    }
    
    function getRemito($idRollo){
        $this->db->select('Remito_id_remito');
        $this->db->from('rollo');
        $this->db->where('idRollo',$idRollo);
        $query=$this->db->get();
        
        if($query->num_rows() >0){
             foreach ($query->result() as $row){
            return $row->Remito_id_remito;
        }
    }
    }
    
    function getNombreEspecie($idEspecie){
        $this->db->select('nombre');
        $this->db->from('especie');
        $this->db->where('idEspecie',$idEspecie);
        $query=$this->db->get();
         if($query->num_rows() >0){
             foreach ($query->result() as $row){
            return $row->nombre;
        }
       
      
    }
   }
    
    function setRolloEstado($idRollo,$estado){
        $data=array(
          'estado'=>$estado  
        );
        $this->db->where('idRollo',$idRollo);
        $this->db->update('rollo',$data);
    }
    
    function compararEstadoRollo($idRollo){
        $this->db->select('estado');
        $this->db->from('rollo');
        $this->db->where('idRollo',$idRollo);
        $query=$this->db->get();
         if($query->num_rows() >0){
             foreach ($query->result() as $row){
            return $row->estado;
        }
    }
    
    function rolloExist($id){
        $this->db->where('idRollo',$id);
        $query = $this->db->get('rollo');
        if($query->num_rows()>0){
            return false;
        }else{
            return true;
        }
    }
}

}
?>
